package com.itheima.search.utils;

import org.jsoup.Jsoup;

public class TextUtils {

    /**
     * 提取 HTML 中的纯文本，最多返回 maxChars 个字符
     */
    public static String extractPlainText(String html, int maxChars) {
        if (html == null || html.isEmpty()) {
            return "暂无正文内容";
        }

        // 使用 Jsoup 提取纯文本
        String cleanText = Jsoup.parse(html).text().trim();

        // 找到第一个非空白字符位置
        int startIndex = -1;
        for (int i = 0; i < cleanText.length(); i++) {
            if (!Character.isWhitespace(cleanText.charAt(i))) {
                startIndex = i;
                break;
            }
        }

        // 没有有效字符
        if (startIndex == -1 || startIndex >= cleanText.length()) {
            return "暂无正文内容";
        }

        // 截取最多 maxChars 个字符
        int endIndex = Math.min(startIndex + maxChars, cleanText.length());
        String result = cleanText.substring(startIndex, endIndex);

        // 是否需要加 ...
        if (endIndex < cleanText.length()) {
            result += "...";
        }

        return result;
    }
}
